]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensions: Allow updating with only extension-manager installed
authorMatthew Jakeman <mjakeman26@outlook.co.nz>
Fri, 1 Jul 2022 11:24:08 +0000 (23:24 +1200)
committerMarge Bot <marge-bot@gnome.org>
Mon, 11 Jul 2022 17:43:11 +0000 (17:43 +0000)
GNOME Shell will only update extensions if the org.gnome.Extensions
app is present. This commit adds alternative support for
com.mattjakeman.ExtensionManager to the extension updating mechanism.

It enables updates to occur when extension-manager is the sole installed
tool on the system. When both applications are installed,
org.gnome.Extensions is preferred at all times.

Fixes #5564

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2358>

js/ui/extensionSystem.js

index 20abfcf4392e3a780e5ee3715ae27b9fb86f2365..ca96a99f4f9be9c7ab947b0c2858e8f05f122a7c 100644 (file)
@@ -65,7 +65,8 @@ var ExtensionManager = class extends Signals.EventEmitter {
 
     get updatesSupported() {
         const appSys = Shell.AppSystem.get_default();
-        return appSys.lookup_app('org.gnome.Extensions.desktop') !== null;
+        return (appSys.lookup_app('org.gnome.Extensions.desktop') !== null) ||
+               (appSys.lookup_app('com.mattjakeman.ExtensionManager.desktop') !== null);
     }
 
     lookup(uuid) {
@@ -663,6 +664,8 @@ class ExtensionUpdateSource extends MessageTray.Source {
     _init() {
         let appSys = Shell.AppSystem.get_default();
         this._app = appSys.lookup_app('org.gnome.Extensions.desktop');
+        if (!this._app)
+            this._app = appSys.lookup_app('com.mattjakeman.ExtensionManager.desktop');
 
         super._init(this._app.get_name());
     }